1

redis的一些安全设置

设置监听IP,设置监听内网ip,不设置默认监听全网IP(危险)

bind 127.0.0.1 

更改默认监听端口,修改为其他端口

port 6379 改为 port 23303

设置密码,redis开启密码认证默认密码是foobared,修改为自己想用的密码即可。

requirepass foobared

将config命令改名,编辑redis.conf,添加配置

rename-command CONFIG mori_config

也可以禁用config命令

rename-command CONFIG ""

慢查询日志

redis中针对慢查询日志,可以设置两个参数。

  • 一个是执行时长slowlog-log-slower-than 10000,单位是微秒,即查询命令所耗时间超过10000微秒就会被记录
  • 另外一个是慢查询日志的长度`slowlog-max-len
    128`。当一个新的命令被写入日志时,最老的一条命令日志会从队列中被移除。比如慢查询日志长度128,即可以记录128条慢查询日志,当第129条慢查询日志出现时,第一条慢查询日志就会被移除。

慢查询日志是保存在内存中的,读写速度非常快。除了在redis.conf进行修改外还可以使用config命令修改。

CONFIG SET slowlog-log-slower-than 10000
CONFIG SET slowlog-max-len 1000

redis-cli中查询慢查询日志记录命令

slowlog get # 查询所有慢查询日志记录
slowlog get 1 # 查看1条慢查询日志
slowlog get 2 # 查看2条

php安装redis扩展模块

环境:php-fpm的安装路径/usr/local/php-fpm

第一种方法
/usr/local/php-fpm/bin/prcl install redis

[root@moli_linux1 bin]# /usr/local/php-fpm/bin/pecl install redis
WARNING: channel "pecl.php.net" has updated its protocols, use "pecl channel-update pecl.php.net" to update
downloading redis-4.3.0.tgz ...
Starting to download redis-4.3.0.tgz (241,883 bytes)
..................................................done: 241,883 bytes
25 source files, building
running: phpize
Configuring for:
PHP Api Version:         20160303
Zend Module Api No:      20160303
Zend Extension Api No:   320160303
enable igbinary serializer support? [no] : no # 保持默认敲no即可
enable lzf compression support? [no] : no

安装成功的提示:

Build process completed successfully
Installing '/usr/local/php-fpm/lib/php/extensions/no-debug-non-zts-20160303/redis.so'
install ok: channel://pecl.php.net/redis-4.3.0
configuration option "php_ini" is not set to php.ini location
You should add "extension=redis.so" to php.ini

修改php.ini配置文件,添加redis配置

vim /usr/local/php-fpm/etc/php.ini     
# 下面添加内容
extension=redis.so

重启php-fpm服务,检查是否加载了redis模块。

[root@moli_linux1 bin]$ /usr/local/php-fpm/bin/php -m | grep redis
redis

第二种方法
源码编译安装

cd /usr/local/src
wget http://pecl.php.net/get/redis-4.3.0.tgz
tar -zxvf redis-4.3.0.tgz 
cd redis-4.3.0
/usr/local/php-fpm/bin/phpize
./configure --with-php-config=/usr/local/php-fpm/bin/php-config
make
make install 

然后编辑配置文件php.ini,增加extension=redis.so,再重启php-fpm服务即可。

php中使用redis存储会话session
编辑php.ini,修改或者添加下面配置:

vim /usr/local/php-fpm/etc/php.ini 
# 配置如下
session.save_handler = "redis"
session.save_path = "tcp://127.0.0.1:6379"

或者在php-fpm配置文件对应的pool中添加配置:

php_value[session.save_handler] = redis
php_value[session.save_path] = "tcp://127.0.0.1:6379"

创建测试文件:


vim session.php
# 内容如下:
<?php 
session_start(); 
if (!isset($_SESSION['TEST'])) { 
$_SESSION['TEST'] = time(); 
} 
$_SESSION['TEST3'] = time(); 
print $_SESSION['TEST']; 
print "<br><br>"; 
print $_SESSION['TEST3']; 
print "<br><br>"; 
print session_id(); 
?> 

执行php文件,生成两个会话

[root@moli_linux1 html]$ /usr/local/php-fpm/bin/php session.php 
1554530024<br><br>1554530024<br><br>0mkg95st49po1q1bthupd4d56r 
[root@moli_linux1 html]$ /usr/local/php-fpm/bin/php session.php 
1554530026<br><br>1554530026<br><br>m80hiqb8j56l3lhlur4o8o77r3

打开redis-cli,看是否有存储会话,有则表示配置成功。

[root@moli_linux1 html]$ redis-cli
127.0.0.1:6379> keys *
1) "k4"
2) "k1"
3) "k2"
4) "k5"
5) "PHPREDIS_SESSION:0mkg95st49po1q1bthupd4d56r"
6) "k3"
7) "PHPREDIS_SESSION:m80hiqb8j56l3lhlur4o8o77r3"

syushin
948 声望316 粉丝